From 1da49c151eba67cd3ae817234397b08c807625e9 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 6 Apr 2006 17:25:24 +0100 Subject: [PATCH] Cleanups to do_callback_op() new hypercall changeset. Signed-off-by: Keir Fraser --- .../include/asm-i386/mach-xen/asm/hypercall.h | 3 +-- .../include/asm-i386/mach-xen/setup_arch_post.h | 4 ++-- .../include/asm-x86_64/mach-xen/setup_arch_post.h | 6 +++--- xen/arch/x86/x86_32/traps.c | 8 ++++---- xen/arch/x86/x86_64/traps.c | 11 ++++++----- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h index d789fa3ae0..088b182c1c 100644 --- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h +++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h @@ -331,8 +331,7 @@ HYPERVISOR_nmi_op( static inline int HYPERVISOR_callback_op( - int cmd, - void *arg) + int cmd, void *arg) { return _hypercall2(int, callback_op, cmd, arg); } diff --git a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h index ef697fde73..71d0258b8d 100644 --- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h +++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h @@ -25,11 +25,11 @@ extern void nmi(void); static void __init machine_specific_arch_setup(void) { struct xen_platform_parameters pp; - callback_register_t event = { + struct callback_register event = { .type = CALLBACKTYPE_event, .address = { __KERNEL_CS, (unsigned long)hypervisor_callback }, }; - callback_register_t failsafe = { + struct callback_register failsafe = { .type = CALLBACKTYPE_failsafe, .address = { __KERNEL_CS, (unsigned long)failsafe_callback }, }; diff --git a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h index c48ef6cbb3..f2342b0097 100644 --- a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h +++ b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h @@ -14,15 +14,15 @@ extern void nmi(void); static void __init machine_specific_arch_setup(void) { - callback_register_t event = { + struct callback_register event = { .type = CALLBACKTYPE_event, .address = (unsigned long) hypervisor_callback, }; - callback_register_t failsafe = { + struct callback_register failsafe = { .type = CALLBACKTYPE_failsafe, .address = (unsigned long)failsafe_callback, }; - callback_register_t syscall = { + struct callback_register syscall = { .type = CALLBACKTYPE_syscall, .address = (unsigned long)system_call, }; diff --git a/xen/arch/x86/x86_32/traps.c b/xen/arch/x86/x86_32/traps.c index d99fecdae9..085c126153 100644 --- a/xen/arch/x86/x86_32/traps.c +++ b/xen/arch/x86/x86_32/traps.c @@ -322,8 +322,7 @@ static long register_guest_callback(struct callback_register *reg) long ret = 0; struct vcpu *v = current; - if ( reg->address.cs ) - fixup_guest_code_selector(reg->address.cs); + fixup_guest_code_selector(reg->address.cs); switch ( reg->type ) { @@ -355,6 +354,7 @@ static long unregister_guest_callback(struct callback_unregister *unreg) ret = -EINVAL; break; } + return ret; } @@ -370,7 +370,7 @@ long do_callback_op(int cmd, GUEST_HANDLE(void) arg) struct callback_register reg; ret = -EFAULT; - if ( copy_from_guest( ®, arg, 1 ) ) + if ( copy_from_guest(®, arg, 1) ) break; ret = register_guest_callback(®); @@ -382,7 +382,7 @@ long do_callback_op(int cmd, GUEST_HANDLE(void) arg) struct callback_unregister unreg; ret = -EFAULT; - if ( copy_from_guest( &unreg, arg, 1 ) ) + if ( copy_from_guest(&unreg, arg, 1) ) break; ret = unregister_guest_callback(&unreg); diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c index f7dd3e939f..4f5ff5ba11 100644 --- a/xen/arch/x86/x86_64/traps.c +++ b/xen/arch/x86/x86_64/traps.c @@ -357,6 +357,7 @@ static long unregister_guest_callback(struct callback_unregister *unreg) ret = -EINVAL; break; } + return ret; } @@ -372,7 +373,7 @@ long do_callback_op(int cmd, GUEST_HANDLE(void) arg) struct callback_register reg; ret = -EFAULT; - if ( copy_from_guest( ®, arg, 1 ) ) + if ( copy_from_guest(®, arg, 1) ) break; ret = register_guest_callback(®); @@ -384,7 +385,7 @@ long do_callback_op(int cmd, GUEST_HANDLE(void) arg) struct callback_unregister unreg; ret = -EFAULT; - if ( copy_from_guest( &unreg, arg, 1 ) ) + if ( copy_from_guest(&unreg, arg, 1) ) break; ret = unregister_guest_callback(&unreg); @@ -403,15 +404,15 @@ long do_set_callbacks(unsigned long event_address, unsigned long failsafe_address, unsigned long syscall_address) { - callback_register_t event = { + struct callback_register event = { .type = CALLBACKTYPE_event, .address = event_address, }; - callback_register_t failsafe = { + struct callback_register failsafe = { .type = CALLBACKTYPE_failsafe, .address = failsafe_address, }; - callback_register_t syscall = { + struct callback_register syscall = { .type = CALLBACKTYPE_syscall, .address = syscall_address, }; -- 2.30.2